-
-
Notifications
You must be signed in to change notification settings - Fork 5
Update to function as out-of-the-box test server #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
NGINX is now also listens to port 8000 on the docker network. This is an important step to being able to start these `services` and have them function as a local test server for openml-python among others.
|
|
||
| # Update openml.expdb.dataset with the same url | ||
| mysql -hdatabase -uroot -pok -e 'UPDATE openml_expdb.dataset DS, openml.file FL SET DS.url = FL.filepath WHERE DS.did = FL.id;' | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These removed updates are now embedded in the state of the database on the new image
| sed -i -E 's/^(::1\t)localhost (.*)$/\1\2/g' /etc/hosts.new | ||
| cat /etc/hosts.new > /etc/hosts | ||
| rm /etc/hosts.new | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For other containers updating /etc/hosts through configuration was sufficient.
For this one, the pre-existing /etc/hosts took precidence, so it needed to be updated.
| - "8000:8000" | ||
| networks: | ||
| default: | ||
| ipv4_address: 172.28.0.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the static ip address is required so that we can add entries to /etc/hosts file of other containers, so they contact nginx when they resolve localhost.
| @@ -1,4 +1,4 @@ | |||
| CONFIG=api_key=AD000000000000000000000000000000;server=http://php-api:80/ | |||
| CONFIG=api_key=abc;server=http://php-api:80/ | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand, here the api key is set from AD000000000000000000000000000000 to abc ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AD000000000000000000000000000000 was the api key in the old test database image, but this has been changed to abc to match the test server database.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The evaluation engine needs administrator access currently.
| apikey=normaluser | ||
| server=http://localhost:8000/api/v1/xml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... and here the api key is set from AD000000000000000000000000000000 to normaluser
So far, these were the keys for developers:
php-api (v1) test-server: normaluser
php-api (v1) local-server: AD000000000000000000000000000000
has anything changed here?
Also what are the api keys for python-api (v2), now that it will also be added to services with a frozen docker image
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This configuration is just for when you spin up a openml-python container to use the Python API. They do not need administrator access, so I changed the key to normaluser which is a normal read-write account.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Python-based REST API uses the keys that are in the database. The server is unaffected, but I will need to update the keys that are used in its tests.
Updating routing and data of the images to allow an out of the box test server on a local machine.
Currently the updated configuration allows running of the openml-python unit tests that require the test server (see openml/openml-python#1630).
Have to cross-check I didn't break other functionality in the process.